#include<bits/stdc++.h>
using namespace std;
int n,a[100005];
bool v[100005];
bool f()
{
    for(int i=1; i<=n; i++)
    {
        if(a[i]>2)
        {
            return 0;
        }
    }
    return 1;
}
bool l()
{
    for(int i=1; i<=n; i++)
    {
        if(a[i]&&!v[i])
        {
            return 1;
        }
    }
    return 0;
}
int main()
{
    freopen("duel.in","r",stdin);
    freopen("duel.out","r",stdout);
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>a[i];
    }
    if(f())
    {
        int s=0,t=0;
        for(int i=1; i<=n; i++)
        {
            if(a[i]==2)
            {
                s++;
            }
            else
            {
                t++;
            }
        }
        cout<<max(s,t);
        return 0;
    }
    if(n<=30)
    {
        int mi=100005,mik=100005;
        while(l())
        {
            for(int i=1; i<=n; i++)
            {
                if(a[i]==0)
                {
                    continue;
                }
                if(mi>a[i])
                {
                    mik=mi;
                    mi=a[i];
                }
                else if(mik>a[i])
                {
                    mik=a[i];
                }
            }
            a[mi]=0;
            v[mik]=1;
        }
        int k=0;
        for(int i=1; i<=n; i++)
        {
            if(a[i])
            {
                k++;
            }
        }
        cout<<k;
        return 0;
    }
    return 0;
}
